IBDataSet a naroky na pamet
Otázka od: Karel Rys
4. 5. 2004 8:33
Dobry den,
nedavno tu nekdo uvadel jako nevyhodou u tIbDataSet, ze udrzuje velky buffer
zaznamu, takze na dostatecne velkem mnozstvi dat bude mit problemy. To jsem
jeste doufal, ze se s tim v praxi nesetkam
Nevite nekdo, zda se da velikost tohoto bufferu nejak omezit, popr. i
programove uz do bufferu stazene zaznamy "zahodit" (aby si je pripadne
priste ze serveru znovu vyzadal)?
Diky,
Karel Rys
Odpovedá: petr palicka
4. 5. 2004 10:27
Ahoj,
pokud potrebujes prochazet data ze serveru
pouze jednosmerne, typicky nejaky while not eof
na selectem, tak pouzij TIBSQL.
Server totiz neumi vratit jiz jednou poslana
data, musel bys spustit dotaz znovu. Prave proto
si to ten DataSet uklada do pameti.
Peca
Karel Rys wrote:
> Dobry den,
>
> nedavno tu nekdo uvadel jako nevyhodou u tIbDataSet, ze udrzuje velky buffer
> zaznamu, takze na dostatecne velkem mnozstvi dat bude mit problemy. To jsem
> jeste doufal, ze se s tim v praxi nesetkam
>
> Nevite nekdo, zda se da velikost tohoto bufferu nejak omezit, popr. i
> programove uz do bufferu stazene zaznamy "zahodit" (aby si je pripadne
> priste ze serveru znovu vyzadal)?
>
> Diky,
>
> Karel Rys
>
>
>
>
>
Odpovedá: Karel Rys
4. 5. 2004 10:47
petr palicka dne 4 May 2004 v 11:01:
> Ahoj,
>
> pokud potrebujes prochazet data ze serveru
> pouze jednosmerne, typicky nejaky while not eof
> na selectem, tak pouzij TIBSQL.
> Server totiz neumi vratit jiz jednou poslana
> data, musel bys spustit dotaz znovu. Prave proto
> si to ten DataSet uklada do pameti.
Hm, na to pouzivam tIbQuery - to si ale nejspis taky dela cache, ze? U toho
tIbDataSetu se mi
hodilo, ze mohu zaznamy prochazet a obcas nejaky upravit. Vetsinou bych klidne
ozelel, ze se
nemohu vratit zpet k jiz "proslemu" zaznamu, ale potrebuju mit moznost ho v
pripade potreby
upravit (rekneme jen 1 % zaznamu, ktere splnuji nejakou podminku, kterou v SQL
proste neosetrim),
a to, zda se mi, s jednou komponentou nepujde.
Karel Rys
Odpovedá: Lebeda David
4. 5. 2004 12:33
> Hm, na to pouzivam tIbQuery - to si ale nejspis taky dela cache, ze? U
> toho tIbDataSetu se mi hodilo, ze mohu zaznamy prochazet a obcas
> nejaky upravit.
Ahoj,
ohledne Query - ano, i tady se data cachuji. Nicmene i u IBDatasetu se
cachovani
mozna neprovadi v pripade, ze je nastaveny jako jednosmerny (property se
jmenuje
nejak jako Unidirectional) - ted si nejsem jist. Nevim ale, zda by to nemelo
vliv na
pouzitelnost dbgridu v tomto rezimu.
K TIBSQL:
1) S touto komponentou nefunguji db-aware komponenty.
2) Data bys musel upravovat v jine komponente, resp. jine instanci - zalezi na
Tobe.
Brani tomu neco?
David Lebeda
Odpovedá: Karel Rys
4. 5. 2004 14:44
Lebeda David dne 4 May 2004 v 13:19:
> > Hm, na to pouzivam tIbQuery - to si ale nejspis taky dela cache, ze?
> > U toho tIbDataSetu se mi hodilo, ze mohu zaznamy prochazet a obcas
> > nejaky upravit.
>
> ohledne Query - ano, i tady se data cachuji. Nicmene i u IBDatasetu se
> cachovani mozna neprovadi v pripade, ze je nastaveny jako jednosmerny
> (property se jmenuje nejak jako Unidirectional) - ted si nejsem jist.
> Nevim ale, zda by to nemelo vliv na pouzitelnost dbgridu v tomto
> rezimu.
Ahoj,
diky, vyzkousim - kdyby stacilo zapnout Unidirectional, bylo by to super.
Napojeni na DbGrid tam
neni - prochazi to procedura, uzivatel vidi jen vysledek - kolik zaznamu bylo
zmeneno, detaily je
nezajimaji.
> K TIBSQL:
>
> 1) S touto komponentou nefunguji db-aware komponenty.
Nevadi, nejsou napojeny
> 2) Data bys musel upravovat v jine komponente, resp. jine instanci -
> zalezi na Tobe. Brani tomu neco?
Asi spis lenost U IbDataSetu sice taky existuje dva ci vice SQL dotazu, ale
porad je to jedna
komponenta, prijde mi to lepsi nez mit jednu komponentu na prochazeni a druhou
na zmeny udaju;
prinejmensim je s tim trosku vic prace, kdyz se zmeni struktura tabulky.
Diky,
Karel Rys